首页 > 试题广场 >

添加逗号

[编程题]添加逗号
  • 热度指数:16234 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个正整数 N \left(1 \leqq N \leqq 2\times10^9\right)
\hspace{15pt}现在需要将其转换为千分位格式,即从整数最低位开始,每三位数字插入一个英文逗号,以提高可读性。
\hspace{15pt}例如,对于 980364535,转换后为 980,364,535
\hspace{15pt}请编写程序完成该格式转换。

输入描述:
\hspace{15pt}在一行中输入一个整数 N \left(1 \leqq N \leqq 2\times10^9\right)


输出描述:
\hspace{15pt}输出一个字符串,表示将 N 转换为千分位格式后的结果。 
\hspace{15pt}请不要输出多余的空格或换行。
示例1

输入

980364535

输出

980,364,535
示例2

输入

6

输出

6

备注:

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    while ((line = await readline())) {
        let arr = line.split("");
        let n = arr.length;
        let arr1 = arr.reverse();
        let num = parseInt(n / 3);
        for (let index = 3; index < n + num; index += 3) {
            arr1.splice(index, 0, ",");
            index++;
        }
        if (n % 3 == 0) {
            arr1.pop();
        }
        let re = arr1.reverse()
        let str = re.join("");
        console.log(str);
    }
})();

发表于 2022-11-07 20:58:27 回复(0)